# -*- coding: utf-8 -*-

# Created by: Raf

# 这个文件用来辅助调整截图区域坐标。运行游戏，全屏截图，放上路径，就可以查看截图区域。
import cv2

# 显示中文
from PIL import Image, ImageDraw, ImageFont
import numpy as np
import utils

print(utils.get_pos())


def cv2_add_chinese_text(img, text, position, textColor=(0, 0, 255), textSize=25):
    if isinstance(img, np.ndarray):  # 判断是否OpenCV图片类型
        img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    # 创建一个可以在给定图像上绘图的对象
    draw = ImageDraw.Draw(img)
    # 字体的格式
    font_style = ImageFont.truetype(
        "simsun.ttc", textSize, encoding="utf-8")
    # 绘制文本
    draw.text(position, text, textColor, font=font_style)
    # 转换回OpenCV格式
    return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)


# Modify the region parameters and the image path
capture_pos = [
    (336, 616, 773, 163),  # 玩家区域
    (361, 311, 380, 160),  # 左边玩家区域
    (758, 320, 380, 160),  # 右边玩家区域
    (1028, 223, 60, 93),  # 地主标志区域(玩家右)
    (166, 552, 110, 140),  # 地主标志区域(玩家)
    (347, 190, 58, 96),  # 地主标志区域(玩家左)
    (611, 35, 225, 98)  # 地主底牌区域
]

text_pos = ["玩家区域", "左边玩家区域", "右边玩家区域", "地主标志区域(玩家右)", "地主标志区域(玩家)", "地主标志区域(玩家左)", "地主底牌区域"]

img_path = r'D:\Projects\DouZero_For_HappyDouDiZhu\test\2.png'
img = cv2.imread(img_path)
for sub, pos in enumerate(capture_pos):
    img = cv2.rectangle(img, pos[0:2], (pos[0] + pos[2], pos[1] + pos[3]), (0, 0, 255), 3)
    img = cv2_add_chinese_text(img, text_pos[sub], (pos[0] + 5, pos[1] + 5))
    # 图像，文字内容， 坐标 ，字体，大小，颜色，字体厚度
cv2.namedWindow("test", 0)
cv2.imshow('test', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
